Some server-deployed, web-based mail application programs give users access to their centrally located mailboxes. These application programs also provide the ability to send and receive electronic mail (email), schedule appointments, and perform other personal information management (PIM) tasks from a network such as the Internet. Some of these application programs execute in a browser and are a companion to other PIM application programs. In existing systems, many aspects of the user interfaces for the server-deployed application programs and other application programs are hard-coded. The barrier to changing the user experience in these applications in a significant way is significant. For example, every change to the infrastructure that is used to select rendering for folders, items, and extensions to the user preferences user interface requires re-validating many aspects of the application programs to prevent regressions. Further, many aspects of the application programs (e.g., navigation pane, user preferences, and hypertext markup language forms-based authentication) need to segment selectively. The existing systems lack a scalable model or infrastructure for tailoring a user interface for a particular application program.
Accordingly, a system for defining and activating pluggable user interface components is desired to address one or more of these and other disadvantages.